import request from '@/utils/request'
import apis from './'

export function have (parameter) {
  return request({
    url: apis.Have,
    method: 'get',
    params: parameter
  })
}

export function unpaid (parameter) {
  return request({
    url: apis.Unpaid,
    method: 'get',
    params: parameter
  })
}

export function getRejectCustomer (parameter) {
  return request({
    url: apis.Reject,
    method: 'get',
    params: parameter
  })
}

export function getIsoCustomer (parameter) {
  return request({
    url: apis.Accounting,
    method: 'get',
    params: parameter
  })
}

export function abandon (parameter) {
  return request({
    url: apis.Abandon,
    method: 'get',
    params: parameter
  })
}

export function getWeixin (parameter) {
  return request({
    url: apis.WxList,
    method: 'get',
    params: parameter
  })
}

export function getAddWx () {
  return request({
    url: apis.AddWx,
    method: 'get'
  })
}

export function postAddWx (data) {
  return request({
    url: apis.AddWx,
    method: 'post',
    data: data
  })
}

export function getEditWx (id) {
  return request({
    url: `${apis.EditWx}?id=${id}`,
    method: 'get'
  })
}

export function subEditWx (data) {
  return request({
    url: `${apis.EditWx}?id=${data.id}`,
    method: 'post',
    data: data
  })
}

export function getWxData () {
  return request({
    url: apis.WxData,
    method: 'get'
  })
}

/**
 *
 * @param parameter
 * @returns {AxiosPromise}
 */
export function getCustomerDetail (id) {
  return request({
    url: `${apis.CustomerDetail}?customer_id=${id}`,
    method: 'get'
  })
}

export function postCustomerDetail (id, data) {
  return request({
    url: `${apis.CustomerDetail}?customer_id=${id}`,
    method: 'post',
    data: data
  })
}

export function takeAbandon (id) {
  return request({
    url: `${apis.TakeAbandon}?customer_id=${id}`,
    method: 'get'
  })
}

export function getRetake (id) {
  return request({
    url: `${apis.Retake}?customer_id=${id}`,
    method: 'get'
  })
}

export function postRetake (id, data) {
  return request({
    url: `${apis.Retake}?customer_id=${id}`,
    method: 'post',
    data: data
  })
}

export function getCustomerTransfer (parameter) {
  return request({
    url: apis.CustomerTransferList,
    method: 'get',
    params: parameter
  })
}

export function getCustomerBusiness (parameter) {
  return request({
    url: apis.CustomerBusinessList,
    method: 'get',
    params: parameter
  })
}

export function getCustomerContract (parameter) {
  return request({
    url: apis.CustomerContractList,
    method: 'get',
    params: parameter
  })
}

export function batchAbandon (parameter) {
  return request({
    url: apis.BatchAbandon,
    method: 'get',
    params: parameter
  })
}

export function trackList (parameter) {
  return request({
    url: apis.TrackList,
    method: 'get',
    params: parameter
  })
}

export function getAddCustomer () {
  return request({
    url: apis.AddCustomer,
    method: 'get'
  })
}

export function postAddCustomer (data) {
  return request({
    url: apis.AddCustomer,
    method: 'post',
    data: data
  })
}

export function getAccounting (parameter) {
  return request({
    url: apis.HaveAccount,
    method: 'get',
    params: parameter
  })
}

export function getNotAccounting (parameter) {
  return request({
    url: apis.NotAccount,
    method: 'get',
    params: parameter
  })
}

export function getReject (parameter) {
  return request({
    url: apis.HaveReject,
    method: 'get',
    params: parameter
  })
}

export function getNotReject (parameter) {
  return request({
    url: apis.NotReject,
    method: 'get',
    params: parameter
  })
}

export function getNotice (parameter) {
  return request({
    url: apis.HaveSend,
    method: 'get',
    params: parameter
  })
}

export function getNotNotice (parameter) {
  return request({
    url: apis.NotSend,
    method: 'get',
    params: parameter
  })
}

export function getIso (parameter) {
  return request({
    url: apis.HaveIso,
    method: 'get',
    params: parameter
  })
}

export function getNotIso (parameter) {
  return request({
    url: apis.NotIso,
    method: 'get',
    params: parameter
  })
}

/**
 * 大客户
 * @param parameter
 * @returns {AxiosPromise}
 */
export function getOtherWechat (parameter) {
  return request({
    url: apis.OtherWechatList,
    method: 'get',
    params: parameter
  })
}

export function changeStatus (id) {
  return request({
    url: `${apis.ChangeWechatStatus}?id=${id}`,
    method: 'post'
  })
}

export function getCreateWechat (id) {
  return request({
    url: `${apis.CreateWechat}?cid=${id}`,
    method: 'get'
  })
}

export function getSubject (parameter) {
  return request({
    url: apis.GetSubject,
    method: 'get',
    params: parameter
  })
}

export function getAddSubject () {
  return request({
    url: apis.AddSubject,
    method: 'get'
  })
}

export function postAddSubject (data) {
  return request({
    url: apis.AddSubject,
    method: 'post',
    data: data
  })
}

export function delSubject (parameter) {
  return request({
    url: apis.DelSubject,
    method: 'get',
    params: parameter
  })
}
